PC OS og PV kaster lys på menneske og sjimpanse DNA-likhet
Walter Myers III; 22. mars 2018
Oversatt herfra.
Bilde 1. Sjimpanse hviler; kreditt: BelaMarie, via Pixabay. Diagramkreditt: Ta bu shi da yu på engelskspråk Wikipedia [ GFDL ], via Wikimedia Commons.
Nylig hadde jeg muligheten til å høre Discovery Institutes Stephen Meyer gi en oppdatering om fremdriften og nåværende tilstand av teorien om intelligent design (id). På slutten av Meyers foredrag tok han spørsmål fra publikum. Uunngåelig kom spørsmålet om mennesker og sjimpanser med deres "98 prosent" likhet i DNA. Er ikke det beviset for evolusjon og mot design?
Meyers svar var å sammenligne DNA-koden til ulike dataprogrammer som deler en underliggende kodebase. Som en profesjonell programvareingeniør over flere tiår enn jeg bryr meg å uttrykke her, kan jeg bekrefte nøyaktigheten av Meyers sammenligning. Som han demonstrerte i sin bok 'Signatur i cellen', er cellen en mikroskopisk fabrikk som er livlig med aktiviteten til tusenvis av små maskiner bygget av instruksjonene fra DNA-koden i cellens kjerne.
Jeg kommer ikke inn i debatten om hva nettopp prosentandelen av likhet i DNA mellom mennesker og sjimpanser er. Det er helt irrelevant til det poenget jeg vil gjøre. I stedet la oss se hvordan analogien som Meyer presenterte holdes opp med å gi mer dybde og farge ved hjelp av et praktisk eksempel fra maskinvare og programvare, de fleste av oss bruker i hverdagen. Alle som leser dette innlegget (mistenker jeg) bruker en nettleser på enten en datamaskin, nettbrett eller smarttelefon. Enheten du bruker har noe installert på det, som er kalt et operativsystem (OS). Det defineres som "samlingen av programvare som styrer datamaskinens operasjoner, som kontrollerer og planlegger utførelsen av andre programmer, og styrer lagring, inngang/utgang og kommunikasjonsressurser." Operativsystemet gir alle de underliggende funksjonene som er nødvendige for nettleseren eller andre apper (program) du får tilgang til på enheten din. Uansett hvilken enhet du bruker, består operativsystemet av titalls millioner kodelinjer. For eksempel antas at Windows-operativsystemet har over 50 millioner kodelinjer -her.
Bilde 2. Arkitektur i ulike OS
Diagrammet til høyre representerer arkitekturen til Windows NT, som er linjen av operativsystemer produsert og solgt av Microsoft. Faktisk er dette diagrammet litt utdatert da Windows har "utviklet seg" ganske mye med nye funksjoner siden 2000, men de grunnleggende konseptene har ikke endret seg. Det er ikke viktig at du forstår dette i sin helhet, men noter de forskjellige delsystemene som utgjør et moderne operativsystem.
Spesielt har du "kjernen" som er kjernen i OS-tilkoblingsprogramvaren til den underliggende maskinvaren. Kjernen har full kontroll over systemet og er fullt beskyttet mot brukerprogrammer, og gir et sett med veldefinerte grensesnitt som et program kan samhandle med de underliggende tjenestene. Du kan likne kjernen her med kjernen til en celle, som opprettholder sikkerheten til DNA og kontrollerer funksjonene til hele cellen ved å regulere genuttrykk. På toppen av kjernen har du en "bruker" -modus som koordinerer med kjernen og gir tjenester på høyere nivå, for eksempel brukergrensesnittet, godkjenningsmekanismen (for innlogging) og miljøet der applikasjonskode kjører (i dette tilfellet, nettleseren din). Dette ville være analogt med arbeidsproteiner i cellen som ville være løpekoden som utfører det daglige arbeidet til cellen.
La oss nå fokusere på applikasjonskoden. Mens operativsystemet er kode som et operativsystem-firma skriver, for eksempel Microsoft, Apple, eller ulike Linux-distribusjonsselskaper, er applikasjoner skrevet av programvareutviklere. Programmer i seg selv kan også oppta millioner av kodelinjer. Det avhenger av kompleksiteten og funksjonaliteten til selve applikasjonen. Hva programvareutviklere har oppdaget i løpet av flere tiår, er imidlertid at det er bestemte funksjoner eller mønstre som utviklere utfører om og om igjen, og dermed består en betydelig del av programvarevirksomheten av "tredjeparts" -utviklere som skriver og selger gjenbrukbare "biblioteker" som gjør arbeidet enklere for andre utviklere. For eksempel kan du i et typisk program ha et bibliotek som hjelper med å bygge brukergrensesnittet, et bibliotek for databasetilgang eller et bibliotek for kommunikasjon via et trådløst nettverk.
Programmer på en smarttelefon, for eksempel Facebook, Instagram eller Snapchat, kan være tusenvis av kodelinjer, og gi tilgang til komponentbiblioteker som tilbyr tjenester som består av tusenvis eller millioner av kodelinjer, og selvfølgelig tilgang til de nevnte millioner kodelinjer i det underliggende operativsystemet.
Nå, sammenligner vi dette med mennesker og sjimpanser, hva finner vi? Mens mye av DNA-koden kan være den samme, har delene som ikke er de samme, betydelige forskjeller. Programmene jeg har beskrevet ovenfor, for eksempel Facebook, Instagram eller Snapchat, har forskjellige formål, men de er alle avhengige av det samme operativsystemet som består av titalls millioner kodelinjer. For å være spesifikk, la oss si at du bruker en iPhone med iOS 11 (Apple Mobile OS) installert. IOS anslås å ta opp ca 4 GB plass på iPhone. Facebook tar opp ca 297 MB. Snapchat er ca 137 MB. Instagram er omtrent 85 MB. Tilsvarende er det 7,4 prosent, 3,4 prosent og 2,1 prosent av størrelsen til IOS. Vil så noen si at Facebook, Instagram og Snapchat er ganske mye av det samme siden de er godt over 90 prosent av det samme? Selvfølgelig ikke. Det er ikke så annerledes med mennesker og sjimpanser. I tilfelle av disse programmene deles det store flertallet av deres totale kodebase, men hver er et tydelig kreativt uttrykk som utnytter en felles kodebase. Når det gjelder mennesker og sjimpanser, kan man forvente at en designer bruker delt kode hvor funksjoner er de samme, og forskjellig (ny) kode der funksjonene er forskjellige. Når vi undersøker dataprogrammer, som er oppfinnelsen av menneskelige sinn, hvorfor skulle de ikke reflektere tankene til designeren som skrev koden for å produsere mennesker, sjimpanser og alle andre biologiske organismer?
Bilde 3. Ulike celletyper i menneskekroppen
Det er en ytterligere relevant analogi mellom applikasjonsprogramvare og DNA-kode. I biologiske organismer er ikke alle gener uttrykt i hver celle. For eksempel er det spesifikke gener som er aktive i leverceller, spesifikke gener som er aktive i hjerte muskelceller og spesifikke gener som er aktive i hjerneceller. Ulike celletyper uttrykker seg i både utseende og funksjon. Så ikke alle DNA-kodene er i bruk i hver celle. I tillegg påvirker miljøfaktorer hvilke gener som uttrykkes i en gruppe celler, slik at en organisme kan reagere på forskjellige måter til situasjonene der den befinner seg. Tilsvarende er ikke alle baner til all kode i bruk for ulike programmer. Det er "innstillinger", enten satt av brukeren eller programmert automatisk i applikasjonen av utvikleren, som bestemmer hvordan et program vil fungere individuelt. For eksempel, når en bruker endrer innstillinger for personvern, språk eller chat i Facebook-mobilappen, endrer den de mange banene koden kan utføre. Eller hvis en ondsinnet bruker forsøker å logge på et program flere ganger, forsøker å hakke inn i en brukerkonto, vil programmet selv utføre en kodesti for å låse den ondsinnede brukeren ute og varsle den legitime brukeren.
Igjen gjenspeiler funksjonene i et dataprogram tankene til den menneskelige designeren. På samme måte reflekterer funksjonene i mennesket som programmerer en datamaskin, tankene til designeren for både mennesker og sjimpanser.
Oversettelse og bilder ved Asbjørn E. Lund